<?php

interface ConciergeRemoteInterface {
	public function __construct(&$concierge);
	
	public function registerPrincipal($name, $key, $callback_url);
	public function unregisterPrincipal($name, $key);
	public function authenticatePrincipal($name, $key);
	
	public function registerTagInterest($name, $key, $tags_commaseparated);
	public function unregisterTagInterest($name, $key, $tags_commaseparated);
	public function unregisterAllTagInterests($name, $key);
	public function getTagInterests($name, $key);
	
	public function registerGlobalInterest($name, $key);
	public function unregisterGlobalInterest($name, $key);
	
	public function registerPrincipalInterest($name, $key, $other_name);
	public function getPrincipalInterests($name, $key);
	public function unregisterPrincipalInterest($name, $key, $other_name);
	public function unregisterAllPrincipalInterests($name, $key);
	
	public function unregisterAllInterests($name, $key);
	
	public function postMessage($sender_name, $sender_key, $content, $tags_commaseparated);

	public function getPrincipalInterestStream($name, $key, $since = 0, $limit = 1000);
	public function getPrincipalStream($name, $since = 0, $limit = 1000);
	public function getGlobalStream($since = 0, $limit = 1000);
	public function getTaglistStream($tags_csv, $since = 0, $limit = 1000);
}


?>